home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
PRINTERS
/
Pict.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-07
|
1KB
|
68 lines
#include "Printer.h"
#include "Class.h"
#include "PictPort.h"
#include "Picture.h"
#include "Data.h"
#include "TypeMatcher.h"
#include "String.h"
class PrintPictPort: public PictPort {
char *name;
int pn;
public:
MetaDef(PrintPictPort);
PrintPictPort(char *name);
~PrintPictPort();
void DevOpenPage(int pn);
void DevClosePage();
};
NewMetaImpl0(PrintPictPort, PictPort);
PrintPictPort::PrintPictPort(char *nm) : PictPort((Picture*)0)
{
name= strsave(nm);
}
PrintPictPort::~PrintPictPort()
{
FlushMyText();
SafeDelete(name);
}
void PrintPictPort::DevOpenPage(int n)
{
PictPort::DevOpenPage(n);
pict= new Picture;
pn= n;
}
void PrintPictPort::DevClosePage()
{
PictPort::DevClosePage();
if (pict->Length() > 0) {
OStream os(form("%s.%d", name, pn));
os << cMagic << " Picture PictPrinter\n" << pict;
}
SafeDelete(pict);
}
//---- PictPrinter -------------------------------------------------------------
class PictPrinter : public Printer {
public:
MetaDef(PictPrinter);
PictPrinter()
{ }
char *GetName()
{ return "PICT"; }
bool CanSave()
{ return TRUE; }
PrintPort *MakePrintPort(char *name)
{ return new PrintPictPort(name); }
};
NewMetaImpl0(PictPrinter, Printer);